/****************************************************************************
*					StructureLearning
*
*	Description:	Common ancestor for parameter learning classes
*
****************************************************************************/

#ifndef _StructureLearning_H
#define _StructureLearning_H

#include <vector>
#include "Environment.h"
#include "PGMStruct.h"
#include "DataSet.h"

class StructureLearning {
  private:

  protected:

  public:
	  // Standard constructor - empty one
	StructureLearning(void) {}
      
	  // Standard destructor - empty one
    virtual ~StructureLearning() {}

      // Calculating feature value
	virtual int learn (DataSet& dataSetLearn, PGMStruct& pgmStruct) = 0;

	  // Set object patameters from environment
	virtual int setParameters (Environment &environment) = 0;
	
}; // end of class

#endif // _StructureLearning_H
